home *** CD-ROM | disk | FTP | other *** search
/ OMEGA & Dilbert Too! / OMEGA and Dilbert Too!.iso / Omega / OMEGA / SWDEMO / INST.MST < prev    next >
Text File  |  1999-01-13  |  7KB  |  281 lines

  1. '**************************************************************
  2. '** DASYTEC Installation WorkBench for Windows DEMO Englisch **
  3. '**************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. const WELCOME       = 100
  12. const ASKQUIT       = 200
  13. const DESTPATH      = 300
  14. const EXITFAILURE   = 400
  15. const EXITQUIT      = 600
  16. const EXITSUCCESS   = 700
  17. const APPHELP       = 900
  18. const TOOBIG        = 6300
  19. const BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. const LOGO = 1
  23.  
  24. global DEST$        ''Default destination directory.
  25. global WINPFAD$     ''Windows-Verzeichnis
  26. global OPTCUR$      ''Option selection from option dialog.
  27. global SEINTRAG$    ''Eintraege in SYSTEM.INI
  28. global EINTRAGU$    ''Hilfsstring
  29. global sxx%         ''Hilfsvariable zu Eintrag in SYSTEM.INI
  30.                     '' 0=Kein Eintrag, 1=Eintrag gendert
  31. global xx%          ''Hilfsvariable
  32. global size&        ''Freier Platz auf Disk
  33. global hWnd%
  34.  
  35.  
  36. declare function Ctl3dRegister LIB "CTL3D.DLL" (hWnd%) as integer
  37. declare function Ctl3dAutoSubclass LIB "CTL3D.DLL" (hWnd%) as integer
  38. declare function Ctl3dUnregister LIB "CTL3D.DLL" (hWnd%) as integer
  39.  
  40. DECLARE SUB Install
  41. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  42.  
  43.  
  44. INIT:
  45.    hWnd% = HwndFrame ()
  46.    xx% = Ctl3dRegister (hWnd%)
  47.    xx% = Ctl3dAutoSubclass (hWnd%)
  48.  
  49.    CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  50.    HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  51.  
  52.    SetBitmap CUIDLL$, LOGO
  53.    SetTitle "Installation WorkBench PC for Windows with DEMO Driver"
  54.  
  55.    WINPFAD$ = GetWindowsDir
  56.    szInf$ = GetSymbolValue("STF_SRCINFPATH")
  57.    if  szInf$ = "" then
  58.       szInf$ = GetSymbolValue("STF_CWDDIR") + "INST.INF"
  59.    end if
  60.    ReadInfFile szInf$
  61.  
  62.    OPTCUR$ = "1"
  63.    DEST$ = "C:\WBW_DEMO"
  64.  
  65. '$ifdef DEBUG
  66.    i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  67.    WinDrive$ = MID$(GetWindowsDir, 1, 1)
  68.    if  IsDriveValid(WinDrive$) = 0 then
  69.       i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  70.       goto QUIT
  71.    end if
  72. '$endif  ''DEBUG
  73.  
  74.  
  75.  
  76. WELCOME:
  77.    sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  78.    if  sz$ = "CONTINUE" then
  79.       UIPop 1
  80.    else
  81.       gosub ASKQUIT
  82.       goto WELCOME
  83.    end if
  84.  
  85.  
  86.  
  87. GETPATH:
  88.    SetSymbolValue "EditTextIn", DEST$
  89.    SetSymbolValue "EditFocus", "end"
  90. GETPATHL1:
  91.    sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  92.    DEST$ = GetSymbolValue("EditTextOut")
  93.  
  94.    if  sz$ = "CONTINUE" then
  95.       if  IsDirWritable(DEST$) = 0 then
  96.          gosub BADPATH
  97.          goto GETPATHL1
  98.       end if
  99.       eintragu$=mid$(dest$,1,1)
  100.       size&=GetFreeSpaceForDrive(eintragu$)
  101.       size&=size& / 1024
  102.       if size& < 2500 then
  103.          gosub DISKZUKLEIN
  104.          goto GETPATHL1
  105.       end if
  106.       UIPop 1
  107.    elseif  sz$ = "REACTIVATE" then
  108.       goto GETPATHL1
  109.    elseif  sz$ = "BACK" then
  110.       UIPop 1
  111.       goto WELCOME
  112.    else
  113.       gosub ASKQUIT
  114.       goto GETPATH
  115.    end if
  116.  
  117.    Install
  118.  
  119.  
  120.   
  121. QUIT:
  122.    ON ERROR goto ERRQUIT
  123.  
  124.    if  ERR = 0 then
  125.       sz$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "FInfoDlgProc", 0, "")
  126.       if  sz$ = "REACTIVATE" then
  127.          goto QUIT
  128.       end if
  129.       UIPop 1
  130.    elseif  ERR = STFQUIT then
  131.       sz$ = UIStartDlg(CUIDLL$, EXITQUIT, "FInfo0DlgProc", 0, "")
  132.       if  sz$ = "REACTIVATE" then
  133.          goto QUIT
  134.       end if
  135.    else
  136.       sz$ = UIStartDlg(CUIDLL$, EXITFAILURE, "FInfo0DlgProc", 0, "")
  137.       if  sz$ = "REACTIVATE" then
  138.          goto QUIT
  139.       end if
  140.    end if
  141.    UIPop 1
  142.    xx% = Ctl3dUnRegister (hWnd%)
  143.    end
  144.  
  145.  
  146.  
  147. ERRQUIT:
  148.    end
  149.  
  150.  
  151.  
  152. BADPATH:
  153.    sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  154.    if  sz$ = "REACTIVATE" then
  155.       goto BADPATH
  156.    end if
  157.    UIPop 1
  158.    return
  159.  
  160.  
  161.  
  162. ASKQUIT:
  163.    sz$ = UIStartDlg(CUIDLL$, asKQUIT, "FQuitDlgProc", 0, "")
  164.    if  sz$ = "EXIT" then
  165.       UIPopAll
  166.       ERROR STFQUIT
  167.    elseif  sz$ = "REACTIVATE" then
  168.       goto ASKQUIT
  169.    else
  170.       UIPop 1
  171.    end if
  172.    return
  173.  
  174.  
  175.  
  176. DISKZUKLEIN:
  177.    sz$ = UIStartDlg(CUIDLL$, TOOBIG , "FInfoDlgProc", 0, "")
  178.    if sz$ = "REAKTIVATE" then
  179.       goto DISKZUKLEIN
  180.    else
  181.       UIPop 1
  182.    end if
  183.    return
  184.  
  185.  
  186.  
  187. INST_RSTRT:
  188.    sxx%=0
  189.    open winpfad$+"WIN.INI" for input as #1
  190.    open winpfad$+"WIN.DSL" for output as #2
  191.    while not eof(1)
  192.       line input #1, seintrag$
  193.       if sxx%=0 then
  194.          eintragu$=ucase$(ltrim$(rtrim$(seintrag$)))
  195.          if eintragu$="[WINDOWS]" then
  196.             print #2,seintrag$
  197.             eintragu$="run="+ MakePath(Dest$,"_DLRSTOR.EXE")
  198.             print #2,eintragu$
  199.             sxx%=1
  200.          else
  201.             print #2,seintrag$
  202.          end if
  203.       else
  204.          print #2,seintrag$
  205.       end if
  206.    wend
  207.    close #1
  208.    close #2
  209.    if DoesFileExist(MakePath(winpfad$,"WIN.DSL"),femExist) then
  210.       RemoveFile MakePath(winpfad$,"WIN.INI"),cmoVital
  211.       RenameFile MakePath(winpfad$,"WIN.DSL"), "WIN.INI"
  212.    end if
  213.    eintragu$= GetSymbolValue("STF_CWDDIR")
  214.    open eintragu$+"_DLRSTOR.QFL" for output as #1
  215.    print #1,winpfad$
  216.    print #1,dest$
  217.    close #1
  218.    return
  219.  
  220.  
  221.  
  222.  
  223.  
  224. '**
  225. '** Purpose:
  226. '**     Builds the copy list and performs all installation operations.
  227. '** Arguments:
  228. '**     none.
  229. '** Returns:
  230. '**     none.
  231. '*************************************************************************
  232. sub Install STATIC
  233.  
  234.    SrcDir$ = GetSymbolValue("STF_SRCDIR")
  235.    CreateDir DEST$, cmoNone
  236.  
  237.    OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  238.    WriteToLogFile "Eingabe Installationsverzeichnis: '" + DEST$ + "'"
  239.    WriteToLogFile "Erzeugtes Verzeichnis: " + DEST$
  240.    WriteToLogFile ""
  241.  
  242.    AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  243.    CopyFilesInCopyList
  244.  
  245.    CreateProgmanGroup "Demo WBW", "", cmoNone
  246.    ShowProgmanGroup  "Demo WBW", 1, cmoNone
  247.    CreateProgmanItem "Demo WBW", "WorkBench DEMO", MakePath(DEST$,"WRKBENCH.EXE"), "", cmoOverwrite
  248.    CreateProgmanItem "Demo WBW", "WorkBench Help", "winhelp.exe "+MakePath(DEST$,"eve_help.hlp"), "", cmoOverwrite
  249.   
  250.    CloseLogFile
  251.  
  252. end sub
  253.  
  254.  
  255.  
  256. '**
  257. '** Purpose:
  258. '**     Appends a file name to the end of a directory path,
  259. '**     inserting a backslash character as needed.
  260. '** Arguments:
  261. '**     szDir$  - full directory path (with optional ending "\")
  262. '**     szFile$ - filename to append to directory
  263. '** Returns:
  264. '**     Resulting fully qualif ied path name.
  265. '*************************************************************************
  266. function MakePath (szDir$, szFile$) STATIC AS STRING
  267.    if  szDir$ = "" then
  268.       MakePath = szFile$
  269.    elseif  szFile$ = "" then
  270.       MakePath = szDir$
  271.    elseif  MID$(szDir$, LEN(szDir$), 1) = "\" then
  272.       MakePath = szDir$ + szFile$
  273.    else
  274.       MakePath = szDir$ + "\" + szFile$
  275.    end if
  276. end function
  277.  
  278.  
  279.  
  280.  
  281.